package pres.wchen.oa.cor.shiro.service.impl;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import pres.wchen.oa.cor.shiro.model.BaseModel;
import pres.wchen.oa.cor.shiro.model.SysPermission;
import pres.wchen.oa.cor.shiro.model.SysUser;
import pres.wchen.oa.cor.shiro.service.SysUserService;
import pres.wchen.oa.cor.shiro.dao.SysUserMapper;

/**
 * 源文件名：SysUserServiceImp.java
 * 作者：wchen
 * 创建时间：2018/1/13
 * 文件描述：用户角色表
 * 版权所有：Copyright 2018, Inc. All Rights Reserved.
 * @修改信息： 
 */
@Service("sysUserService")
public class SysUserServiceImp extends BaseService implements SysUserService  {
	@Autowired
	private SysUserMapper sysUserMapper;

	/**
	 * @方法描述 新增
	 * @创建作者 wchen
	 * @方法入参 map
	 * @返回值 
	 * @创建日期 2018/1/13
	 */ 
	public Long insert(SysUser sysUser) {
		sysUserMapper.insert(sysUser);
		return sysUser.getId();
	}

	/**
	 * @方法描述 删除
	 * @创建作者 wchen
	 * @方法入参 map
	 * @返回值 
	 * @创建日期 2018/1/13
	 */ 
	public Integer delete(Long id) {
		return sysUserMapper.delete(id);
	}

	/**
	 * @方法描述 更新
	 * @创建作者 wchen
	 * @方法入参 map
	 * @返回值 
	 * @创建日期 2018/1/13
	 */ 
	public Integer update(SysUser sysUser) {
		return sysUserMapper.update(sysUser);
	}

	/**
	 * @方法描述 详情
	 * @创建作者 wchen
	 * @方法入参 map
	 * @返回值 
	 * @创建日期 2018/1/13
	 */ 
	public SysUser info(Long id) {
		Map map = new HashMap();
		map.put("id", id);
		return sysUserMapper.info(map);
	}

	/**
	 * @方法描述 列表
	 * @创建作者 wchen
	 * @方法入参 map
	 * @返回值 
	 * @创建日期 2018/1/13
	 */ 
	public BaseModel list(Map map) {
		super.pagingList(map);
		List<SysUser> list = sysUserMapper.list(map);
		return super.doPagingResult(list);
	}



	/**
	 * @方法描述 详情（登入使用）
	 * @创建作者 wchen
	 * @方法入参 map
	 * @返回值
	 * @创建日期 2018/1/16
	 */
	public SysUser doLogin(String userName) {
		Map map = new HashMap();
		map.put("username", userName);
//		map.put("password", password);
		return sysUserMapper.info(map);
	}


	/**
	 * @param map
	 * @方法描述 用户添加角色
	 * @创建作者 wchen
	 * @方法入参 map
	 * @返回值
	 * @创建日期 2018/1/18
	 */
	@Override
	public Integer addUserRoles(Map map) {
		return sysUserMapper.addUserRoles(map);
	}

	/**
	 * @param id
	 * @方法描述 删除用户角色
	 * @创建作者 wchen
	 * @方法入参 map
	 * @返回值
	 * @创建日期 2018/1/18
	 */
	@Override
	public Integer deleteUserRoles(Long id) {
		return sysUserMapper.deleteUserRoles(id);
	}

	/**
	 * @param id
	 * @方法描述 查询用户的权限资源列表
	 * @创建作者 wchen
	 * @方法入参 map
	 * @返回值
	 * @创建日期 2018/1/18
	 */
	@Override
	public List<SysPermission> queryUserPermissions(Long id) {
		return sysUserMapper.queryUserPermissions(id);
	}
}